-- 在 Lua 中，函数是被看作是"第一类值（First-Class Value）"，函数可以存在变量里:
function fun1(n)
    return n * n
end

print(fun1(5))
fun2 = fun1
print(fun2(5))

-- function 可以以匿名函数（anonymous function）的方式通过参数传递:
function testFun(n, fun)
    print(fun(n))
end

testFun(
    10,
    function(n)
        return n * 2
    end
)
